print("****************特殊用法****************")
print("****************多变量赋值****************")
a,b,c = 1,2,"123"
print(a)                -- 1
print(b)                -- 2
print(c)                -- 123
-- 多变量赋值 如果后面的值不够 自动补空
a,b,c = 1,2
print(a)                -- 1
print(b)                -- 2
print(c)                -- nil
-- 多变量赋值 如果后面的值多了 自动省略
a,b,c = 1,2,3,4,5,6
print(a)                -- 1
print(b)                -- 2
print(c)                -- 3

print("****************多返回值****************")

function Test()
    return 10,20,30,40
end
-- 多返回值 用几个变量接 就有几个值
-- 如果少了 就少接几个
a,b,c = Test()
print(a)                -- 10
print(b)                -- 20
print(c)                -- 30
-- 如果多了 自动补空
a,b,c,d,e = Test()
print(a)                -- 10
print(b)                -- 20
print(c)                -- 30
print(d)                -- 40
print(e)                -- nil

print("****************and or****************")
-- and or 不仅可以连接boolean 任何东西都可以连接
-- 在lua中 只有 nil 和 false 才认为是假

-- "短路" 对于and 有假则假   对于or 有真则真
print(1 and 2)          -- 2
print(0 and 1)          -- 1
print(nil and 1)        -- nil
print(false and 2)      -- false
print(true and 3)       -- 3

print(1 or 2)           -- 1
print(0 or 1)           -- 0
print(nil or 1)         -- 1
print(false or 2)       -- 2
print(true or 3)        -- true
-- lua 不支持三目运算符
x = 3
y = 2
-- ? :
local res1 = (x > y) and x or y
local res2 = (x < y) and x or y
print(res1)             -- 3
print(res2)             -- 2